1. Field of the Invention
The present invention relates to a data processing apparatus and to a method of controlling this apparatus. More particularly, the invention relates to technology for improving data communication efficiency in a data processing apparatus that uses a network-on-chip system.
2. Description of the Related Art
A network-on-a-chip is known as a technique for data communication between IP (Intellectual Property) cores in an SoC (System-on-Chip) (see Axel Jantsch and Hannu Tenhunen, “Networks on Chip”, UK, Kluwer Academic Publishers). This is a technique that applies the concept of a computer network to communication between modules inside a chip.
A system using a network-on-chip generally has a plurality of data processing modules (IP cores) and a plurality of routers, and each data processing module receives and delivers data via a router. The data communication path can be set from firmware or the like. This enables the sequence of the data processing modules that process data to be changed dynamically, and this makes it possible to implement a versatile, fast data processing apparatus. Further, since communication is performed via routers, it is unnecessary to all-inclusively connect a data processing module and other data processing modules directly by signal lines. This makes it possible to reduce wiring. Further, since it is easy to add on data processing modules, extensibility is excellent.
Each of the above-mentioned routers has multiple input ports and multiple output ports and delivers an output upon selecting an appropriate output port with regard to data that has been input to each input port. Conventionally, in order to select a data output destination, a router generally refers to information that accompanies communication data that has been received. For example, with the arrangement described in Chapter 10 of “Networks on Chip” and in Wolf-Dietrich Weber, “Enabling Reuse via an IP Core-centric Communications Protocol: Open Core Protocol”, Sonics, Inc., address information for identifying a transmission destination is appended to communication data and routing is carried out based upon this address information.